The present invention relates generally to a method, system, and computer program product for designing an integrated circuit (IC), and more particularly, to a method, system, and computer program product for solving congestion problems in an IC design by adjusting a wire order during routing.
Modern day electronics include components that use ICs. ICs are electronic circuits formed using Silicon as a substrate and by adding impurities to form solid-state electronic devices, such as transistors, diodes, and resistors. Commonly known as a “chip,” an IC is generally encased in hard plastic. The components in modern day electronics generally appear to be rectangular black plastic pellets with connector pins protruding from the plastic encasement.
Circuit designers use a variety of software tools to design electronic circuits that accomplish an intended task. For example, a digital circuit may be designed to accept digital inputs, perform some computation, and produce a digital output. An analog circuit may be designed to accept analog signals, manipulate the analog signals, such as by amplifying, filtering, or mixing the signals, and produce an analog or digital output. Generally, any type of circuit can be designed as an IC.
Logical synthesis, physical synthesis, and generation of a routed and timing-closed design are some of the functions of an IC design software tool. Logical synthesis is the process of designing the logical operation that is to be achieved by a circuit. Physical synthesis is the mapping, translating, or integration of that logical synthesis to the physical design components, such as logic gate and buffer circuits. Routing and timing-closed design is the design produced by adjusting the wire routings and component placements in a design so that the design meets certain design criteria such as delay or slew of signals, wire length restrictions, or crosstalk concerns.
The software tools used for designing ICs produce, manipulate, or otherwise work with the circuit layout at very small scales. Some of the components that such a tool may manipulate may only measure tens of nanometer across when formed in Silicon. The designs produced and manipulated using these software tools are complex, often including millions of such components interconnected to form an intended electronic circuitry.